#!/bin/bash

# ==============================================================================
# Termux 一键开发环境配置脚本
# 作者: AI Assistant
# 功能: 将全新的 Termux 变为功能完备的开发环境
# ==============================================================================

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color

# 打印带颜色的信息
print_info() {
    echo -e "${BLUE}[INFO]${NC} $1"
}

print_success() {
    echo -e "${GREEN}[SUCCESS]${NC} $1"
}

print_warning() {
    echo -e "${YELLOW}[WARNING]${NC} $1"
}

print_error() {
    echo -e "${RED}[ERROR]${NC} $1"
}

# 检查是否在 Termux 环境中运行
if [ ! -d "/data/data/com.termux/files/usr" ]; then
    print_error "此脚本只能在 Termux 环境中运行！"
    exit 1
fi

print_info "开始配置 Termux 开发环境..."

# 1. 更新和升级软件包
print_info "Step 1/9: 更新和升级软件包..."
pkg update -y && pkg upgrade -y
if [ $? -ne 0 ]; then
    print_error "软件包更新失败，请检查网络连接！"
    exit 1
fi
print_success "软件包更新完成。"

# 2. 安装核心基础工具
print_info "Step 2/9: 安装核心基础工具 (git, curl, wget, vim, nano, tree, htop)..."
pkg install -y git curl wget vim nano tree htop
print_success "核心工具安装完成。"

# 3. 配置 Python 环境
print_info "Step 3/9: 配置 Python 环境..."
pkg install -y python python-pip
print_info "升级 pip..."
pip install --upgrade pip
print_info "配置清华大学 pip 镜像源..."
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn
print_info "安装常用 Python 包 (requests, flask)..."
pip install requests flask
print_success "Python 环境配置完成。"

# 4. 安装 Node.js 环境
print_info "Step 4/9: 安装 Node.js 环境..."
pkg install -y nodejs npm
print_info "配置淘宝 npm 镜像源..."
npm config set registry https://registry.npmmirror.com
print_info "安装常用 Node.js 包 (pm2)..."
npm install -g pm2
print_success "Node.js 环境配置完成。"

# 5. 安装 C/C++ 编译环境
print_info "Step 5/9: 安装 C/C++ 编译环境..."
pkg install -y clang make cmake
print_success "C/C++ 编译环境安装完成。"

# 6. 配置 Git (可选，但推荐)
print_info "Step 6/9: 提示配置 Git 用户信息..."
echo -e "${YELLOW}请输入你的 Git 用户名 (例如: Your Name):${NC}"
read -r GIT_NAME
echo -e "${YELLOW}请输入你的 Git 邮箱 (例如: your.email@example.com):${NC}"
read -r GIT_EMAIL

if [ -n "$GIT_NAME" ] && [ -n "$GIT_EMAIL" ]; then
    git config --global user.name "$GIT_NAME"
    git config --global user.email "$GIT_EMAIL"
    print_success "Git 用户信息已配置: $GIT_NAME <$GIT_EMAIL>"
else
    print_warning "未输入完整的 Git 信息，跳过配置。你之后可以手动运行 'git config --global user.name \"Your Name\"' 和 'git config --global user.email \"your@email.com\"' 来配置。"
fi

# 7. 安装 Oh My Zsh (美化终端)
print_info "Step 7/9: 安装 Zsh 和 Oh My Zsh..."
pkg install -y zsh
# 下载 Oh My Zsh 安装脚本并执行
sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)" "" --unattended
# 将默认 shell 切换为 zsh
chsh -s zsh
print_success "Oh My Zsh 安装完成，默认 Shell 已切换为 Zsh。"

# 8. 安装一些 Zsh 插件 (可选，但强烈推荐)
print_info "Step 8/9: 安装 Zsh 插件 (zsh-autosuggestions, zsh-syntax-highlighting)..."
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# 修改 .zshrc 文件以启用插件
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting)/g' ~/.zshrc
print_success "Zsh 插件安装并启用完毕。"

# 9. 完成
print_success "🎉 所有配置已完成！"
echo ""
echo -e "${GREEN}配置摘要:${NC}"
echo "  - Python 3 (pip 已配置清华源)"
echo "  - Node.js (npm 已配置淘宝源)"
echo "  - Git (已配置用户信息)"
echo "  - C/C++ 编译环境"
echo "  - Zsh + Oh My Zsh + 实用插件"
echo ""
print_warning "请重启 Termux 应用 (完全退出后重新打开) 以使所有更改生效！"
echo "重启后，你的终端将焕然一新！"
